package com.tomshushu.doc.freedoc.modular.teamuser.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tomshushu.doc.freedoc.core.model.result.PageResult;
import com.tomshushu.doc.freedoc.modular.teamuser.entity.TeamUserEntity;
import com.tomshushu.doc.freedoc.modular.teamuser.model.param.SetDefaultTeamParam;
import com.tomshushu.doc.freedoc.modular.teamuser.model.param.TeamUserParam;
import com.tomshushu.doc.freedoc.modular.teamuser.model.param.TeamUserQueryParam;
import com.tomshushu.doc.freedoc.modular.teamuser.model.result.TeamUserResult;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @description:
 * @author: zhouhong
 * @date: 2025-06-11 12:30
 * @version: 1.0
 */
public interface TeamUserService  extends IService<TeamUserEntity> {
    /**
     * 批量添加用户团队关系
     * @param teamUserParam
     */
    void addTeamUser(TeamUserParam teamUserParam);

    /**
     * 批量删除用户团队关系
     * @param teamUserParam
     */
    void deleteTeamUser(TeamUserParam teamUserParam);

    /**
     * 分页查询团队下的用户
     * @param param
     * @return
     */
    PageResult<TeamUserResult> pageUserByTeamId(TeamUserQueryParam param);

    /**
     * 分页查询未加入当前团队的用户
     * @param param
     * @return
     */
    PageResult<TeamUserResult> pageUnUnionUser(TeamUserQueryParam param);

    /**
     * 设置默认团队
     * @param param
     */
    void setDefaultTeam(@RequestBody SetDefaultTeamParam param);
}